/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package provaserializzazione;
import java.sql.*;
/**
 *Classe per l'interazione con il db
 * @author francesco
 */
public class Utilita {
    private static String driver = "com.mysql.jdbc.Driver";
    private static Connection conn;
    private static ResultSet resulset;
    private static Statement statement;
    
    /**
     * Carico il Driver del db
     */
    public static void loadDriver(){
        try{
            Class.forName(driver);
        }catch(ClassNotFoundException ex){
            ex.printStackTrace();
        }/*fine catch*/
    }/*fine metodo loadDriver*/
    
    /**
    * Effettua la connessione al db
    * il nome della tabella e' paris
    */ 
    public static void doConnection(String url, String port, String dbname, String u_name, String pwd){
        try{
            String completeUrl = "jdbc:mysql://" + url + ":" + port + "/" + dbname;
            conn = DriverManager.getConnection(completeUrl, u_name, pwd);
            System.out.println("Conessione al db effettuta con successo");
            
            
            
        }catch(SQLException ex){
            ex.printStackTrace();
        }/*fine catch*/
        
        
    }/*fine metodo doConnection*/
    
    
    /**
    * inserisce un valore in tabella
    */ 
    public static int insertQuery(int u1, int u2, double val){
        if(conn != null){
        try{
            statement = conn.createStatement();
            String insertStatement = "INSERT INTO similarita (idutente, idvotato, valore) VALUES (" +  u1 + "," + u2 + "," + val + ")";
            int ris = statement.executeUpdate(insertStatement);
            return ris;
        }catch(SQLException ex){
            ex.printStackTrace();
        }/*fine catch*/        
        }/*fine if*/
        else{
            System.out.println("Nessuna connessione attiva per eseguire una query!");
            return 0;
        }/*fine else*/
        return 0;
    }/*fine metodo insertQuery*/
    
    
    /**
    * restituisce tutti i valori della tabella similarità
    */
    public static ResultSet getTable(){
        if(conn != null){
            try{
                statement = conn.createStatement();
                String query = "SELECT * FROM similarita";
                resulset = statement.executeQuery(query);
            }catch(SQLException ex){
                ex.printStackTrace();
            }/*fine catch*/
            return resulset;
        }/*fine if controllo conn*/
        else{
            System.out.println("Nessuna connessione attiva per eseguire una query");
            return null;
        }/*fine else*/
    }/*fine metodo getTable*/
    
    
    
    /**
    * Chiude la connessione al db
    */
    public static void closeConnection(){
        try{
            conn.close();
            System.out.println("Disconessione al db effettuta con successo");            
        }catch(SQLException ex){
            ex.printStackTrace();
        }/*fine catch*/
    }/*fine metodo closeConnection*/
    
    
    
    
    
}
